package com.tuanzi.loan.business.entity.family;

import com.tuanzi.loan.business.validation.annotation.family.ProductInfoBusinessValidation;
import com.tuanzi.loan.core.entity.AuditEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.*;
import java.util.Date;

/**
 * @author Ray 2017/10/14
 */
@Data
@Entity
@ProductInfoBusinessValidation
@Table(name = "LOAN_PRODUCT_INFO")
@EqualsAndHashCode(callSuper = true)
public class ProductInfo extends AuditEntity {

	private static final long serialVersionUID = 2538544627440717868L;

	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	@Column(name = "name")
	private String name;

	@Column(name = "summary")
	private String summary;

	@Column(name = "approval_type")
	private Integer approvalType;

	@Column(name = "promotion_type")
	private Integer promotionType;

	@Column(name = "business_license")
	private String businessLicense;

	@Column(name = "logo")
	private String logo;

	@Column(name = "advantage")
	private String advantage;

	@Column(name = "minlimit")
	private Integer minLimit;

	@Column(name = "maxlimit")
	private Integer maxLimit;

	@Column(name = "loanlimit")
	private String loanLimit;

	@Column(name = "initcount")
	private Integer initCount;

	@Column(name = "default_amount")
	private Integer defaultAmount;

	@Column(name = "default_time")
	private Integer defaultTime;

	@Column(name = "lenddate")
	private String lendDate;

	@Column(name = "url")
	private String url;

	@Column(name = "ratetype")
	private Integer rateType;

	@Column(name = "rate")
	private String rate;

	@Column(name = "minterm")
	private Integer minTerm;

	@Column(name = "maxterm")
	private Integer maxTerm;

	@Column(name = "status")
	private Integer status;

	@Column(name = "success_count")
	private Integer successCount;

	@Column(name = "api")
	private Integer api;

	@Column(name = "remark")
	private String remark;

	@Column(name = "heat")
	private String heat;

	@Column(name = "position")
	private Integer position;

	@Column(name = "modelid")
	private Long modelId;

	@Column(name = "market_tag")
	private String marketTag;

	@Column(name = "loan_speed")
	private String loanSpeed;

	@Column(name = "pass_rate")
	private String passRate;

	@Column(name = "union_type")
	private Integer unionType;

	@Column(name = "info_type")
	private Integer infoType;

	@Column(name = "api_model_id")
	private String apiModelId;

	@Column(name = "login_type")
	private Integer loginType;

	@Column(name = "online_time")
	private Date onlineTime;

	@Column(name = "company_id")
	private Long companyId;

	@Column(name = "platform")
	private String platform;

	@Column(name = "receipt_product_id")
	private String receiptProductId;

	@Column(name = "receipt_model_id")
	private String receiptModelId;

	@Column(name = "long_tag_json")
	private String longTagJson;

	@Column(name = "average_price")
	private Integer averagePrice;

	@Column(name = "collision_api_id")
	private Integer collisionApiId;

	@Column(name = "repay_type")
	private Integer repayType;

	@Column(name = "weight")
	private Integer weight;

	@Column(name = "day_limit_click_uv")
	private Integer dayLimitClickUv;

	@Column(name = "all_id")
	private Integer allId;

	@Column(name = "lastweek_pass_rate")
	private String lastweekPassRate;

	@Column(name = "platform_score")
	private String platformScore;

	@Column(name = "float_content")
	private String floatContent;

	@Column(name = "is_add_replace")
	private Integer isAddReplace;

	@Column(name = "cooperative_organization")
	private String cooperativeOrganization;

	@Column(name = "every_day_online_time")
	private Integer everyDayOnlineTime;

	@Column(name = "every_day_offline_time")
	private Integer everyDayOfflineTime;

	@Column(name = "partner_agreement")
	private String partnerAgreement;

	@Column(name = "product_type")
	private Integer productType;

	@Column(name = "joined_limit")
	private String joinedLimit;

	@Column(name = "open_type")
	private Integer openType;

	@Column(name = "redirect_type")
	private Integer redirectType;

	@Column(name = "rate_remark")
	private String rateRemark;

	@Column(name = "repay_remark")
	private String repayRemark;

	@Column(name = "prefilter_id")
	private Long prefilterId;

	@Column(name = "customer_service_type")
	private Integer customerServiceType;

	@Column(name = "customer_service_content")
	private String customerServiceContent;


//	@Column(name = "daily_click_uv_limitation")
//	private Integer dailyClickUvLimitation;

	@Column(name = "daily_click_uv_remaining")
	private Integer dayRemainingClickUv;

	@Column(name = "topic_info")
	private String topicInfo;

	@Column(name = "recommend_type")
	private Integer recommendType;

	@Column(name = "large_common_product")
	private String parentProd;

	@Column(name = "new_collision_api_id")
	private Integer newCollisionApiId;
}
